%% -*- mode: erlang -*-

{erl_opts, [
    warn_unused_vars,
    warn_shadow_vars,
    warn_unused_import,
    warn_obsolete_guard,
    compressed
]}.

{xref_checks, [
    undefined_function_calls,
    undefined_functions,
    locals_not_used,
    deprecated_function_calls,
    warnings_as_errors,
    deprecated_functions
]}.

%% Deps here may duplicate with emqx.git root level rebar.config
%% but there may not be any discrepancy.
%% This rebar.config is necessary because the app may be used as a
%% `git_subdir` dependency in other projects.
{deps, [
    {emqx_utils, {path, "../emqx_utils"}},
    {emqx_durable_storage, {path, "../emqx_durable_storage"}},
    {lc, {git, "https://github.com/emqx/lc.git", {tag, "0.3.2"}}},
    {gproc, {git, "https://github.com/emqx/gproc", {tag, "0.9.0.1"}}},
    {cowboy, {git, "https://github.com/emqx/cowboy", {tag, "2.9.2"}}},
    {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.11.1"}}},
    {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.19.3"}}},
    {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.3.1"}}},
    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.42.1"}}},
    {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}},
    {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}},
    {recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}},
    {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.8"}}},
    {ra, "2.7.3"}
]}.

{plugins, [{rebar3_proper, "0.12.1"}, rebar3_path_deps]}.
{extra_src_dirs, [{"etc", [recursive]}]}.
{profiles, [
    {test, [
        {deps, [
            {meck, "0.9.2"},
            {proper, "1.4.0"},
            {bbmustache, "1.10.0"},
            {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.10.0"}}}
        ]},
        {extra_src_dirs, [
            {"test", [recursive]},
            {"integration_test", [recursive]}
        ]}
    ]},
    {standalone_test, [
        {deps, [
            {meck, "0.9.2"},
            {proper, "1.4.0"},
            {bbmustache, "1.10.0"},
            {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.9.7"}}}
        ]},
        {extra_src_dirs, [{"test", [recursive]}]}
    ]}
]}.

{dialyzer, [
    {warnings, [unmatched_returns, error_handling]},
    {plt_location, "."},
    {plt_prefix, "emqx_dialyzer"},
    {plt_apps, all_apps},
    {statistics, true}
]}.

{project_plugins, [{erlfmt, "1.3.0"}]}.

{erlfmt, [
    {files, [
        "{src,include,test}/*.{hrl,erl,app.src}",
        "rebar.config",
        "rebar.config.script"
    ]}
]}.
